<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>route_node - ClueLib</title><link rel="stylesheet" type="text/css" href="../styles/main.css"><script language=JavaScript src="../javascript/main.js"></script><script language=JavaScript src="../javascript/prettify.js"></script></head><body class="FramedContentPage" onLoad="NDOnLoad();prettyPrint();"><script language=JavaScript><!--
if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>

<!--  Generated by Natural Docs, version 1.52 -->
<!--  http://www.naturaldocs.org  -->

<!-- saved from url=(0026)http://www.naturaldocs.org -->




<div id=Content><div class="CClass"><div class=CTopic id=MainTopic><h1 class=CTitle><a name="route_node"></a>route_node</h1><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>class route_node #(</td><td class="PType  prettyprint " nowrap>type&nbsp;</td><td class="PParameter  prettyprint " nowrap>T</td><td class="PDefaultValuePrefix  prettyprint ">&nbsp;=&nbsp;</td><td class="PDefaultValue  prettyprint " width=100%> int</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Implements a node of a <a href="cl_route-svh.html#route" class=LClass id=link21 onMouseOver="ShowTip(event, 'tt2', 'link21')" onMouseOut="HideTip('tt2')">route</a>.</p><h4 class=CHeading>Parameter</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>T</td><td class=CDLDescription><span class="optional">optional</span> The type of data collected in a route_node.&nbsp; The default is <b>int</b>.</td></tr></table><!--START_ND_SUMMARY--><div class=Summary><div class=STitle>Summary</div><div class=SBorder><table border=0 cellspacing=0 cellpadding=0 class=STable><tr class="SMain"><td class=SEntry><a href="#route_node" id=link1 onMouseOver="ShowTip(event, 'tt1', 'link1')" onMouseOut="HideTip('tt1')">route_node</a></td><td class=SDescription>Implements a node of a <a href="cl_route-svh.html#route" class=LClass id=link2 onMouseOver="ShowTip(event, 'tt2', 'link2')" onMouseOut="HideTip('tt2')">route</a>.</td></tr><tr class="SGroup SIndent1"><td class=SEntry><a href="#route_node.Types" >Types</a></td><td class=SDescription></td></tr><tr class="SType SIndent2 SMarked"><td class=SEntry><a href="#route_node.route_node_type" id=link3 onMouseOver="ShowTip(event, 'tt3', 'link3')" onMouseOut="HideTip('tt3')">route_node_type</a></td><td class=SDescription>The shorthand of the route node type specialized with type <b>T</b>.</td></tr><tr class="SGroup SIndent1"><td class=SEntry><a href="#route_node.Properties" >Properties</a></td><td class=SDescription></td></tr><tr class="SProperty SIndent2 SMarked"><td class=SEntry><a href="#route_node.id" id=link4 onMouseOver="ShowTip(event, 'tt4', 'link4')" onMouseOut="HideTip('tt4')">id</a></td><td class=SDescription>The globally unique ID of this node.</td></tr><tr class="SProperty SIndent2"><td class=SEntry><a href="#route_node.elem" id=link5 onMouseOver="ShowTip(event, 'tt5', 'link5')" onMouseOut="HideTip('tt5')">elem</a></td><td class=SDescription>The element stored at this route node.</td></tr><tr class="SProperty SIndent2 SMarked"><td class=SEntry><a href="#route_node.from_nodes" id=link6 onMouseOver="ShowTip(event, 'tt6', 'link6')" onMouseOut="HideTip('tt6')">from_nodes</a></td><td class=SDescription>The nodes this node is connected from.</td></tr><tr class="SProperty SIndent2"><td class=SEntry><a href="#route_node.to_nodes" id=link7 onMouseOver="ShowTip(event, 'tt7', 'link7')" onMouseOut="HideTip('tt7')">to_nodes</a></td><td class=SDescription>The nodes this node is connected to.</td></tr><tr class="SProperty SIndent2 SMarked"><td class=SEntry><a href="#route_node.relatives" id=link8 onMouseOver="ShowTip(event, 'tt8', 'link8')" onMouseOut="HideTip('tt8')">relatives</a></td><td class=SDescription>The route nodes this route node is related to. </td></tr><tr class="SGroup SIndent1"><td class=SEntry><a href="#route_node.Functions" >Functions</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#route_node.new" id=link9 onMouseOver="ShowTip(event, 'tt9', 'link9')" onMouseOut="HideTip('tt9')">new</a></td><td class=SDescription>Creates a new route node.</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#route_node.add" id=link10 onMouseOver="ShowTip(event, 'tt10', 'link10')" onMouseOut="HideTip('tt10')">add</a></td><td class=SDescription><span class="virtual">virtual</span> Creates a route node of the given element and adds it as a new <a href="#route_node.to_nodes" class=LProperty id=link11 onMouseOver="ShowTip(event, 'tt7', 'link11')" onMouseOut="HideTip('tt7')">to_nodes</a>.</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#route_node.connect" id=link12 onMouseOver="ShowTip(event, 'tt11', 'link12')" onMouseOut="HideTip('tt11')">connect</a></td><td class=SDescription><span class="virtual">virtual</span> Connects the given route node (and its connections) as a new <a href="#route_node.to_nodes" class=LProperty id=link13 onMouseOver="ShowTip(event, 'tt7', 'link13')" onMouseOut="HideTip('tt7')">to_nodes</a>.</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#route_node.disconnect" id=link14 onMouseOver="ShowTip(event, 'tt12', 'link14')" onMouseOut="HideTip('tt12')">disconnect</a></td><td class=SDescription><span class="virtual">virtual</span> Removes the specified route node (and its connections) from this node.</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#route_node.get_num_of_to_nodes" id=link15 onMouseOver="ShowTip(event, 'tt13', 'link15')" onMouseOut="HideTip('tt13')">get_num_of_to_nodes</a></td><td class=SDescription><span class="virtual">virtual</span> Returns the number of <a href="#route_node.to_nodes" class=LProperty id=link16 onMouseOver="ShowTip(event, 'tt7', 'link16')" onMouseOut="HideTip('tt7')">to_nodes</a>. </td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#route_node.has_to_nodes" id=link17 onMouseOver="ShowTip(event, 'tt14', 'link17')" onMouseOut="HideTip('tt14')">has_to_nodes</a></td><td class=SDescription><span class="virtual">virtual</span> Returns if this route node has at least one <a href="#route_node.to_nodes" class=LProperty id=link18 onMouseOver="ShowTip(event, 'tt7', 'link18')" onMouseOut="HideTip('tt7')">to_nodes</a>.</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#route_node.get_index" id=link19 onMouseOver="ShowTip(event, 'tt15', 'link19')" onMouseOut="HideTip('tt15')">get_index</a></td><td class=SDescription><span class="virtual">virtual</span> Returns the index of the <a href="#route_node.to_nodes" class=LProperty id=link20 onMouseOver="ShowTip(event, 'tt7', 'link20')" onMouseOut="HideTip('tt7')">to_nodes</a> this node is connected to, from the view point of the specified &ldquo;from node&rdquo;.</td></tr></table></div></div><!--END_ND_SUMMARY--></div></div></div>

<div class="CGroup"><div class=CTopic><h3 class=CTitle><a name="route_node.Types"></a>Types</h3></div></div>

<div class="CType"><div class=CTopic><h3 class=CTitle><a name="route_node.route_node_type"></a>route_node_type</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>typedef route_node#(</td><td class="PParameter  prettyprint " nowrap>T</td><td class="PAfterParameters  prettyprint "nowrap>) route_node_type</td></tr></table></td></tr></table></blockquote><p>The shorthand of the route node type specialized with type <b>T</b>.</p></div></div></div>

<div class="CGroup"><div class=CTopic><h3 class=CTitle><a name="route_node.Properties"></a>Properties</h3></div></div>

<div class="CProperty"><div class=CTopic><h3 class=CTitle><a name="route_node.id"></a>id</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">int id</td></tr></table></blockquote><p>The globally unique ID of this node.</p></div></div></div>

<div class="CProperty"><div class=CTopic><h3 class=CTitle><a name="route_node.elem"></a>elem</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">T elem</td></tr></table></blockquote><p>The element stored at this route node.</p></div></div></div>

<div class="CProperty"><div class=CTopic><h3 class=CTitle><a name="route_node.from_nodes"></a>from_nodes</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">route_node_type from_nodes[$]</td></tr></table></blockquote><p>The nodes this node is connected from.</p><blockquote><pre>+---------------+    +-----------+
| from_nodes[0] |---&gt;|           |
+---------------+    |           |
+---------------+    |           |
| from_nodes[1] |---&gt;| this node |
+---------------+    |           |
+---------------+    |           |
| from_nodes[2] |---&gt;|           |
+---------------+    +-----------+</pre></blockquote></div></div></div>

<div class="CProperty"><div class=CTopic><h3 class=CTitle><a name="route_node.to_nodes"></a>to_nodes</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">route_node_type to_nodes[$]</td></tr></table></blockquote><p>The nodes this node is connected to.</p><blockquote><pre>+-----------+    +-------------+
|           |---&gt;| to_nodes[0] |
|           |    +-------------+
|           |    +-------------+
| this node |---&gt;| to_nodes[1] |
|           |    +-------------+
|           |    +-------------+
|           |---&gt;| to_nodes[2] |
+-----------+    +-------------+</pre></blockquote></div></div></div>

<div class="CProperty"><div class=CTopic><h3 class=CTitle><a name="route_node.relatives"></a>relatives</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">route_node_type relatives[$]</td></tr></table></blockquote><p>The route nodes this route node is related to.&nbsp; Usage of this property is up to the user.</p></div></div></div>

<div class="CGroup"><div class=CTopic><h3 class=CTitle><a name="route_node.Functions"></a>Functions</h3></div></div>

<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="route_node.new"></a>new</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>function new(</td><td class="PType  prettyprint " nowrap>T&nbsp;</td><td class="PParameter  prettyprint " nowrap>elem</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Creates a new route node.</p><h4 class=CHeading>Argument</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>elem</td><td class=CDLDescription>Data element stored at the route node.</td></tr></table><h4 class=CHeading>Example</h4><blockquote><pre class="prettyprint">int i = 123;
route_node#(int) rn = new( i );</pre></blockquote></div></div></div>

<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="route_node.add"></a>add</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>virtual function route_node_type add(</td><td class="PType  prettyprint " nowrap>T&nbsp;</td><td class="PParameter  prettyprint " nowrap>e</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p><span class="virtual">virtual</span> Creates a route node of the given element and adds it as a new <a href="#route_node.to_nodes" class=LProperty id=link22 onMouseOver="ShowTip(event, 'tt7', 'link22')" onMouseOut="HideTip('tt7')">to_nodes</a>.</p><h4 class=CHeading>Argument</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>e</td><td class=CDLDescription>An element to be added.</td></tr></table><h4 class=CHeading>Returns</h4><p>Newly added route node.</p><h4 class=CHeading>Example</h4><blockquote><pre class="prettyprint">route_node#(int) rn;
route_node#(int) rn_123 = new( 123 );

rn = rn_123.add( 234 );
// (123) ---- (234) &lt;~~ rn

rn = rn_123.add( 345 );
// (123) -+-- (234)
//        |
//        +-- (345) &lt;~~ rn

rn = rn_123.add( 456 ).add( 567 ); // chain
// (123) -+-- (234)
//        |
//        +-- (345)
//        |
//        +-- (456) ---- (567) &lt;~~ rn</pre></blockquote></div></div></div>

<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="route_node.connect"></a>connect</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>virtual function route_node_type connect(</td><td class="PType  prettyprint " nowrap>route_node_type&nbsp;</td><td class="PParameter  prettyprint " nowrap>rn</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p><span class="virtual">virtual</span> Connects the given route node (and its connections) as a new <a href="#route_node.to_nodes" class=LProperty id=link23 onMouseOver="ShowTip(event, 'tt7', 'link23')" onMouseOut="HideTip('tt7')">to_nodes</a>.</p><h4 class=CHeading>Argument</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>rn</td><td class=CDLDescription>A route node to be connected.</td></tr></table><h4 class=CHeading>Returns</h4><p>A route node to be connected (<b>rn</b>).</p><h4 class=CHeading>Example</h4><blockquote><pre class="prettyprint">route_node#(int) rn_123;
route_node#(int) rn_234;
route_node#(int) rn_345;
route_node#(int) rn_456;
route_node#(int) rn;

rn_123 = new( 123 );
rn_234 = rn_123.add( 234 );
// (123) --- (234)
//             \__ rn_234

rn_345 = new( 345 );
rn_456 = rn_345.add( 456 );
// (345) ---- (456)
//   \__ rn_345

rn = rn_234.connect( rn_345 );
// (123) ---- (234) --- (345) ---- (456)
//                        \__ rn</pre></blockquote></div></div></div>

<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="route_node.disconnect"></a>disconnect</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>virtual function route_node_type disconnect(</td><td class="PType  prettyprint " nowrap>int&nbsp;</td><td class="PParameter  prettyprint " nowrap>index</td><td class="PDefaultValuePrefix  prettyprint ">&nbsp;=&nbsp;</td><td class="PDefaultValue  prettyprint " width=100%> 0</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p><span class="virtual">virtual</span> Removes the specified route node (and its connections) from this node.</p><h4 class=CHeading>Argument</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>index</td><td class=CDLDescription><span class="optional">optional</span> The index of the <a href="#route_node.to_nodes" class=LProperty id=link24 onMouseOver="ShowTip(event, 'tt7', 'link24')" onMouseOut="HideTip('tt7')">to_nodes</a>.&nbsp; The default is <b>0</b>.&nbsp; If the specified node does not exist, this function does nothing.</td></tr></table><h4 class=CHeading>Returns</h4><p>This route node.</p><h4 class=CHeading>Example</h4><blockquote><pre class="prettyprint">route_node#(int) rn;
route_node#(int) rn_123 = new( 123 );

rn = rn_123.add( 234 );
rn = rn_123.add( 456 ).add( 567 );
rn = rn_123.add( 345 );
// (123) -+-- (234)
//        |
//        +-- (456) ---- (567)
//        |
//        +-- (345)

rn = rn_123.disconnect( .index( 1 ) );
// (123) -+-- (234)
//        |
//        +-- (345)</pre></blockquote></div></div></div>

<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="route_node.get_num_of_to_nodes"></a>get_num_of_to_nodes</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">virtual function int get_num_of_to_nodes()</td></tr></table></blockquote><p><span class="virtual">virtual</span> Returns the number of <a href="#route_node.to_nodes" class=LProperty id=link25 onMouseOver="ShowTip(event, 'tt7', 'link25')" onMouseOut="HideTip('tt7')">to_nodes</a>.&nbsp;  This function <u>does not</u> count the number of connections recursively.</p><h4 class=CHeading>Returns</h4><p>The number of <a href="#route_node.to_nodes" class=LProperty id=link26 onMouseOver="ShowTip(event, 'tt7', 'link26')" onMouseOut="HideTip('tt7')">to_nodes</a>.</p><h4 class=CHeading>Example</h4><blockquote><pre class="prettyprint">route_node#(int) rn;
route_node#(int) rn_123 = new( 123 );

rn = rn_123.add( 234 );
rn = rn_123.add( 345 );
rn = rn_123.add( 456 ).add( 567 );
// (123) -+-- (234)
//        |
//        +-- (345)
//        |
//        +-- (456) ---- (567)

assert( rn_123.get_num_of_to_nodes() == 3 ); // not 4</pre></blockquote></div></div></div>

<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="route_node.has_to_nodes"></a>has_to_nodes</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">virtual function bit has_to_nodes()</td></tr></table></blockquote><p><span class="virtual">virtual</span> Returns if this route node has at least one <a href="#route_node.to_nodes" class=LProperty id=link27 onMouseOver="ShowTip(event, 'tt7', 'link27')" onMouseOut="HideTip('tt7')">to_nodes</a>.</p><h4 class=CHeading>Returns</h4><p>If this tree node has at least one <a href="#route_node.to_nodes" class=LProperty id=link28 onMouseOver="ShowTip(event, 'tt7', 'link28')" onMouseOut="HideTip('tt7')">to_nodes</a>, returns 1.&nbsp; Otherwise, returns 0.</p><h4 class=CHeading>Example</h4><blockquote><pre class="prettyprint">route_node#(int) rn;
route_node#(int) rn_123 = new( 123 );

rn = rn_123.add( 234 );
rn = rn_123.add( 345 );
rn = rn_123.add( 456 ).add( 567 );
// (123) -+-- (234)
//        |
//        +-- (345)
//        |
//        +-- (456) ---- (567)

assert( rn_123.has_to_nodes() == 1 );</pre></blockquote></div></div></div>

<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="route_node.get_index"></a>get_index</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>virtual function int get_index(</td><td class="PType  prettyprint " nowrap>int&nbsp;</td><td class="PParameter  prettyprint " nowrap>from_node_index</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p><span class="virtual">virtual</span> Returns the index of the <a href="#route_node.to_nodes" class=LProperty id=link29 onMouseOver="ShowTip(event, 'tt7', 'link29')" onMouseOut="HideTip('tt7')">to_nodes</a> this node is connected to, from the view point of the specified &ldquo;from node&rdquo;.</p><h4 class=CHeading>Returns</h4><p>The index of the <a href="#route_node.to_nodes" class=LProperty id=link30 onMouseOver="ShowTip(event, 'tt7', 'link30')" onMouseOut="HideTip('tt7')">to_nodes</a> of the specified &ldquo;from node&rdquo;.&nbsp; If the specified &ldquo;from node&rdquo; does not exist, returns -1.</p><h4 class=CHeading>Example</h4><blockquote><pre class="prettyprint">route_node#(int) from_node0 = new( 0 );
route_node#(int) from_node1 = new( 1 );
route_node#(int) to_node0   = new( 2 );
route_node#(int) to_node1   = new( 3 );
route_node#(int) this_node  = new( 4 );
route_node#(int) rn;

rn = from_node0.connect( this_node );
rn = from_node1.connect( to_node0  );
rn = from_node1.connect( to_node1  );
rn = from_node1.connect( this_node );

//  +---------------+                       +------+
//  | from_nodes[0] |------to_nodes[0]-----&gt;|      |
//  +---------------+                       |      |
//  +---------------+    +-------------+    |      |
//  | from_nodes[1] |---&gt;| to_nodes[0] |    | this |
//  |               |    +-------------+    |      |
//  |               |    +-------------+    | node |
//  |               |---&gt;| to_nodes[1] |    |      |
//  |               |    +-------------+    |      |
//  |               |------to_nodes[2]-----&gt;|      |
//  +---------------+                       +------+

assert( this_node.get_index( .from_node_index( 0 ) ) == 0 );
assert( this_node.get_index( .from_node_index( 1 ) ) == 2 );</pre></blockquote></div></div></div>

</div><!--Content-->



<!--START_ND_TOOLTIPS-->
<div class=CToolTip id="tt1"><div class=CClass><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>class route_node #(</td><td class="PType  prettyprint " nowrap>type&nbsp;</td><td class="PParameter  prettyprint " nowrap>T</td><td class="PDefaultValuePrefix  prettyprint ">&nbsp;=&nbsp;</td><td class="PDefaultValue  prettyprint " width=100%> int</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Implements a node of a route.</div></div><div class=CToolTip id="tt2"><div class=CClass><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>class route #(</td><td class="PType  prettyprint " nowrap>type&nbsp;</td><td class="PParameter  prettyprint " nowrap>T</td><td class="PDefaultValuePrefix  prettyprint ">&nbsp;=&nbsp;</td><td class="PDefaultValue  prettyprint " width=100%> int</td><td class="PAfterParameters  prettyprint "nowrap>) extends collection#( T )</td></tr></table></td></tr></table></blockquote>Implements a route structure.</div></div><div class=CToolTip id="tt3"><div class=CType><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>typedef route_node#(</td><td class="PParameter  prettyprint " nowrap>T</td><td class="PAfterParameters  prettyprint "nowrap>) route_node_type</td></tr></table></td></tr></table></blockquote>The shorthand of the route node type specialized with type <b>T</b>.</div></div><div class=CToolTip id="tt4"><div class=CProperty><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">int id</td></tr></table></blockquote>The globally unique ID of this node.</div></div><div class=CToolTip id="tt5"><div class=CProperty><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">T elem</td></tr></table></blockquote>The element stored at this route node.</div></div><div class=CToolTip id="tt6"><div class=CProperty><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">route_node_type from_nodes[$]</td></tr></table></blockquote>The nodes this node is connected from.</div></div><div class=CToolTip id="tt7"><div class=CProperty><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">route_node_type to_nodes[$]</td></tr></table></blockquote>The nodes this node is connected to.</div></div><div class=CToolTip id="tt8"><div class=CProperty><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">route_node_type relatives[$]</td></tr></table></blockquote>The route nodes this route node is related to. </div></div><div class=CToolTip id="tt9"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>function new(</td><td class="PType  prettyprint " nowrap>T&nbsp;</td><td class="PParameter  prettyprint " nowrap>elem</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Creates a new route node.</div></div><div class=CToolTip id="tt10"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>virtual function route_node_type add(</td><td class="PType  prettyprint " nowrap>T&nbsp;</td><td class="PParameter  prettyprint " nowrap>e</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><span class="virtual">virtual</span> Creates a route node of the given element and adds it as a new to_nodes.</div></div><div class=CToolTip id="tt11"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>virtual function route_node_type connect(</td><td class="PType  prettyprint " nowrap>route_node_type&nbsp;</td><td class="PParameter  prettyprint " nowrap>rn</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><span class="virtual">virtual</span> Connects the given route node (and its connections) as a new to_nodes.</div></div><div class=CToolTip id="tt12"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>virtual function route_node_type disconnect(</td><td class="PType  prettyprint " nowrap>int&nbsp;</td><td class="PParameter  prettyprint " nowrap>index</td><td class="PDefaultValuePrefix  prettyprint ">&nbsp;=&nbsp;</td><td class="PDefaultValue  prettyprint " width=100%> 0</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><span class="virtual">virtual</span> Removes the specified route node (and its connections) from this node.</div></div><div class=CToolTip id="tt13"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">virtual function int get_num_of_to_nodes()</td></tr></table></blockquote><span class="virtual">virtual</span> Returns the number of to_nodes. </div></div><div class=CToolTip id="tt14"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">virtual function bit has_to_nodes()</td></tr></table></blockquote><span class="virtual">virtual</span> Returns if this route node has at least one to_nodes.</div></div><div class=CToolTip id="tt15"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>virtual function int get_index(</td><td class="PType  prettyprint " nowrap>int&nbsp;</td><td class="PParameter  prettyprint " nowrap>from_node_index</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><span class="virtual">virtual</span> Returns the index of the to_nodes this node is connected to, from the view point of the specified &ldquo;from node&rdquo;.</div></div><!--END_ND_TOOLTIPS-->

<script language=JavaScript><!--
if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html>